package com.ljf.utility.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import com.ljf.config.annotation.AutoCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 编译目录表对象  utility_dat_compile_tabulation
 *
 * @author LJF
 * @since 2025-08-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("编译目录表")
@EqualsAndHashCode(callSuper = true)
@TableName("utility_dat_compile_tabulation")
public class UtilityDatCompileTabulation extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link UtilityDatCompileTabulation#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(9)
	 * 注释: 编码
	 * {@link UtilityDatCompileTabulation#COL_CODE}
	 */
	@AutoCode
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(30)
	 * 注释: 名称
	 * {@link UtilityDatCompileTabulation#COL_NAME}
	 */
	@TableField("name")
	@JsonProperty("name")
	@ApiModelProperty(value = "名称")
	private String name;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint(1)
	 * 注释: 状态(1:无版本;2:无激活版本;3:激活中)
	 * {@link UtilityDatCompileTabulation#COL_STATUS}
	 * {@link com.ljf.utility.enums.UtilityDatCompileTabulationStatusEnum}
	 */
	@TableField("status")
	@JsonProperty("status")
	@ApiModelProperty(value = "状态")
	private Integer status;

	/**
	 * Java类型: Integer
	 * 数据库类型: int
	 * 注释: 版本数
	 * {@link UtilityDatCompileTabulation#COL_VERSION_COUNT}
	 */
	@TableField("version_count")
	@JsonProperty("versionCount")
	@ApiModelProperty(value = "版本数")
	private Integer versionCount;


	/**
	 * ID
	 * {@link UtilityDatCompileTabulation#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link UtilityDatCompileTabulation#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 名称
	 * {@link UtilityDatCompileTabulation#name}
	 */
	public static final String COL_NAME = "name";
	/**
	 * 状态(1:无版本;2:无激活版本;3:激活中)
	 * {@link UtilityDatCompileTabulation#status}
	 */
	public static final String COL_STATUS = "status";
	/**
	 * 版本数
	 * {@link UtilityDatCompileTabulation#versionCount}
	 */
	public static final String COL_VERSION_COUNT = "version_count";

}
